Shared virtual environments (SVEs) provide virtual places and low level supportive frames using network communication in various applications including CAD, military training simulation, remote conferencing, general haptic collaboration, interactive educations, on-line games, and so forth. (See S. Singhal and M. Zyda, Networked Virtual Environments: Design and Implementation, Addison-Wesley, 1999, incorporated herein by reference.) Consistency and responsiveness, the two most important concepts in SVEs, correspond to the closeness of the states among participating user sites (i.e., computers or stations), and how quickly the users receive the response to their and others' interaction with the SVE, respectively.
Conventionally, consistency and responsiveness are achieved by using a concurrency control strategy, whose approach coordinates all the transactions that occur between participants. However, if the communication delays between participants become large, such approaches lead to poor responsiveness. For example, a pessimistic concurrency control allows only one transaction between a server and the clients at a time. One of the primary complaints about these systems is that they are “laggy,” in other words, that they respond sluggishly and erratically when the user invokes a command due to inherent system latency created by the need to transmit information to and from the user to a central server which processes the information. This lag occurs because the user's computer cannot process the command and display the results until after it has consulted with a central server. If every client contends for a transaction, each client needs to wait idly until its transaction is approved. Semi-optimistic concurrency control improves the responsiveness momentarily, but leads to unsatisfactory consistency and sometimes non-smooth behaviors, which is not suitable for treating the SVEs, where motion is involved.
There is appreciable interest in the class of SVEs that is designed for haptic collaboration, which deals with a manipulation of shared virtual objects by multiple users, exchanging haptic forces (that is, forces involved in the touch, feel, and manipulating of objects, such as during manual exploration and manipulation.) The introduction of haptic forces initiates dynamic motion of the engaged virtual object. For a realistic display of haptics and graphics, the motion needs to be created so as to follow physical laws (e.g. Newton's laws). If the latency of response is over 30 msec to a user's action, he perceives a disorder in the sense of touch. This suggests that every distributed user should receive immediate response to his input via haptic and/or visual feedbacks, and that the concurrency control strategy will not guarantee such a high responsiveness if communication delay is large. Hence, SVEs for haptic collaboration need a new method that is perhaps an improvement over a concurrency control strategy and also is suitable for a situation where the delay can be large.
The Transatlantic Touch was a long distance virtual touch project carried out between Massachusetts Institute of Technology (MIT) and University College of London (UCL). (see J. Kim, et al., “Transatlantic Touch: A study of haptic collaboration over long distance,” Presence: Teleoperators and Virtual Environments, vol. 13, no., pp. 328-337, 2004.) In the project, two users, one at MIT and the other at UCL, performed collaborative grasping of a shared virtual object as pre-planned sequences, feeling the presence of remote users through the haptic force communication by direct peer-to-peer connection. Each user interacted with his local replica of the SVE state managed separately, so each received instant haptic and visual responses from his input. However, as the communication delay became severe, the haptic task induced a large inconsistency between users who could not recover from the situation.
Sensitivity to latency also presents a significant obstacle to implementing SVEs on the Internet, because the latencies associated with the Internet can be substantial and quite unpredictable. Therefore, what is needed is a technique for overcoming such difficulties associated with the prior art when implementing SVEs. In particular, what is needed is a technique for resolving latency concerns in a multi-user SVEs not only within a local area network but also with other IP Internet configurations having random variation of time delay during the communication having a specified maximum tolerable delay.